package com.qinggeng.project.system.service;

import com.qinggeng.project.system.domain.Orders;
import com.qinggeng.project.system.domain.OrdersDist;
import com.qinggeng.project.system.domain.json.DistPriceConfig;
import com.qinggeng.project.system.domain.json.DistTime;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author 吴鹏飞
 * @date 2020/9/22
 */
public interface OrdersDistService {
    /**
     * 根据订单编号查询订单配送信息
     * @param ordersNo
     * @return
     */
    OrdersDist selectOrdersDistByOrdersNo(String ordersNo);

    /**
     * 计算配送费
     * @param
     * @return
     */
    BigDecimal getDistPrice(BigDecimal totalPrice,String distType);

    /**
     * 计算配送点收益
     * @param orders
     * @return
     */
    BigDecimal getPointPrice(Orders orders);


    /**
     * 获取配送费配置文件
     * @return
     */
    DistPriceConfig getDistPriceConfig();

    /**
     * 获取配送时间配置
     * @param distType
     * @return
     */
    DistTime getDistTimeConfig(String distType);

    /**
     * 获取具体时间
     * @param calendar
     * @return
     */
    Date getTime(com.qinggeng.project.system.domain.json.Calendar calendar);

    /**
     * 获取划分时间
     * @param distType
     * @return
     */
    Date getDivideTime(String distType);

    /**
     * 根据发货时间获取划分时间
     * @param shipTime
     * @param distType
     * @return
     */
    Date getDivideTime(Date shipTime,String distType);
}
